// pages/category/index.js
//引入自定义的request函数
import { request } from "../../request/request.js"
Page({

    data: {
        //存放左侧菜单数据的数组
        leftCateList: [],
        //存放右侧菜单数据的数组
        rightCateList: [],
        //当前被激活的菜单的索引 默认为0
        currentIndex: 0,
        //存放所有分类数据
        cateList: [],
        //右侧菜单滚动条的位置  默认是零
        right_menu_scroll_top: 0
    },

    onLoad: function(options) {
        //获取本地存储
        let cateList = wx.getStorageSync("cateList");
        let result = cateList.data;
        if (!cateList) { //如果本地存储中没有分类数据
            //获取分类数据
            this.getCateList();
        } else { //本地存储中有 cateList数据
            //判断数据有没有过期  我们设置过期时间为5分钟
            // console.log(cateList);
            if (Date.now() - cateList.time >= 1000 * 5 * 60) { //过期了
                //重新获取获取分类数据
                this.getCateList();
            } else { //没有过期
                //获取左侧和右侧数据
                let leftCateList = [];
                result.forEach(element => {
                    leftCateList.push(element["cat_name"]);
                });
                let rightCateList = result[0].children;

                //保存左侧菜单数据和右侧菜单数据 和所有数据
                this.setData({
                    leftCateList,
                    rightCateList,
                    cateList: result
                });
            }
        }
    },
    //获取商品分类数据函数
    getCateList() {
        request({
            url: "/categories"
        }).then(result => {

            //将result 也就是所有分类数据存放到本地存储中
            wx.setStorageSync("cateList", { time: Date.now(), data: result });


            //获取左侧和右侧数据
            let leftCateList = [];
            result.forEach(element => {
                leftCateList.push(element["cat_name"]);
            });
            let rightCateList = result[0].children;

            //保存左侧菜单数据和右侧菜单数据 和所有数据
            this.setData({
                leftCateList,
                rightCateList,
                cateList: result
            });


        });
    },
    //左侧菜单的点击事件
    async handleLeftListTap(e) {
        //e.currentTarget.dataset.index  获取索引
        //激活当前的栏目
        let index = e.currentTarget.dataset.index;
        this.setData({
            currentIndex: index
        });
        //改变右侧菜单
        let temp_rightCateList = this.data.cateList[index].children;
        this.setData({
            rightCateList: temp_rightCateList,
            right_menu_scroll_top: 0
        });

        //现在原生小程序支持 async 和 await语法了 好耶
        // let testes7 = await request({ url: "/home/catitems" });
        // console.log(testes7);



    }
})